/**
11. 盛最多水的容器
中等

给定一个长度为 n 的整数数组 height 。有 n 条垂线，第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。

找出其中的两条线，使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明：你不能倾斜容器。

示例 1：
输入：[1,8,6,2,5,4,8,3,7]
输出：49 
解释：图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下，容器能够容纳水（表示为蓝色部分）的最大值为 49。

示例 2：
输入：height = [1,1]
输出：1
 

提示：
n == height.length
2 <= n <= 105
0 <= height[i] <= 104
 */

function maxArea(height: number[]): number {
  if (height.length < 2) {
    return 0
  }
  if (height.length === 2) return Math.min(height[0], height[1])
  
  const len = height.length
  let left = 0
  let right = len - 1
  let max = 0
  while (left < right) { 
    if (height[left] < height[right]) {
    console.log(left, right, (right - left) * height[left],  height[left]);

      max = Math.max(max, (right - left) * height[left])
      left++
    } else {
      max = Math.max(max, (right - left) * height[right])
      right--
    }
    
  }
  return max
};

console.log(maxArea([1,8,100,2,100,4,8,3,7])); // 14608
// console.log(maxArea([75,21,3,152,13,107,163,166,32,160,41,131,7,67,56,5,153,176,29,139,61,
//   149,176,142,64,75,170,156,73,48,148,101,70,103,53,83,11,168,1,195,81,43,126,88,62,134,45
//   ,167,63,26,107,124,128,83,67,192,158,189,149,184,37,49,85,107,152,90,143,115,58,144,62,139,
//   139,189,180,153,75,177,121,138,4,28,15,132,63,82,124,174,23,25,110,60,74,147,120,179,37,63,
//   94,47]));


